package traveldreampm.web;

import java.util.List;

import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.ViewScoped;

import traveldreampm.ejb.dtos.*;
import traveldreampm.ejb.manager.*;

@ManagedBean
@ViewScoped
public class PacchettiBean {

	private String searchKeyword;
	private boolean onlyPers;
	
	@EJB
	GestorePacchettiLocal gestorePacchetti;

	@ManagedProperty(value = "#{autenticazioneBean}")
	private AutenticazioneBean autenticazioneBean;

	private List<PacchettoDTO> pacchettiDTOList;

	public PacchettiBean() {}

	public void initView() {
		if (this.getSearchKeyword() == null
				|| this.getSearchKeyword().trim().equals("")) {
			this.setSearchKeyword(null);
			if (this.getOnlyPers())
				this.setPacchettiDTOList(gestorePacchetti.getPacchettiPersonalizzati());
			else
				this.setPacchettiDTOList(gestorePacchetti.getPacchetti());
		} else {
			this.setSearchKeyword(this.getSearchKeyword().trim());
			this.setPacchettiDTOList(gestorePacchetti.cercaPacchetto(this
					.getSearchKeyword()));
		}
	}

	public void initAcquisti() {
		if (autenticazioneBean.isCurrentUserImpiegato())
			this.setPacchettiDTOList(gestorePacchetti.getAcquisti());
		else
			this.setPacchettiDTOList(gestorePacchetti
					.getAcquisti(autenticazioneBean.getUtenteDTO()
							.getIdUtente()));
	}

	public List<PacchettoDTO> getPacchettiDTOList() {
		return pacchettiDTOList;
	}

	public void setPacchettiDTOList(List<PacchettoDTO> pacchettiDTOList) {
		this.pacchettiDTOList = pacchettiDTOList;
	}

	public String getSearchKeyword() {
		return searchKeyword;
	}

	public boolean getOnlyPers() {
		return onlyPers;
	}

	public void setOnlyPers(boolean onlyPers) {
		this.onlyPers = onlyPers;
	}

	public void setSearchKeyword(String searchKeyword) {
		this.searchKeyword = searchKeyword;
	}

	public AutenticazioneBean getAutenticazioneBean() {
		return autenticazioneBean;
	}

	public void setAutenticazioneBean(AutenticazioneBean autenticazioneBean) {
		this.autenticazioneBean = autenticazioneBean;
	}

}
